package cn.com.yang.egg.csdn;

import java.util.Iterator;

import org.junit.Test;

/**
 * 
 * TODO  csdn算法题
 * @author yangyijin
 * @since 2023年3月1日-下午5:33:52
 */
public class SpecialNumPlus {
	
	@Test
	public void test() {
		int sum=0;
		for(int i=1 ;i<=10000;i++) {
			if (check(i)) {
				sum+=i;
			}
		}
		System.out.println(" sum = "+sum);
	}
	
	/**
	 * 小明对数位中含有 2、0、1、9 的数字很感兴趣（不包括前导 0），
	 * 在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40，共 28 个，他们的和是 574。
		请问，在 1 到 n 中，所有这样的数的和是多少？
	 * @param n  1<=n<=10000
	 * @return 
	 */
	private boolean check(int n) {
		if(n<1||n>10000) {
			return false;
		}
		while(true) {
			int tempn = n %10;
			if(tempn==2||tempn==0||tempn==1||tempn==9) {
				return true;
			}else {
				n /=10;
			}
			
		}
	}
}
